The present invention relates generally to the field of computer software and more particularly to accelerator technology.
As the need for computing performance continues to force workload specific acceleration technology, there will be all sorts of different form-factors for accelerators. In many cases it will be advantageous to build an entire special purpose machine to perform acceleration and provide access to it through standard network attachments, such as Ethernet. In order to maintain order with the accelerator it will likely be designed so that the network attached accelerators are on a private network with the host system(s) that are using the accelerator.
Furthermore, as the set of accelerator technology grows; there will be a heterogeneous set of functions available to be accelerated. For example, there could be a data pipeline that involves multiple acceleration technologies. In addition, those pipelines with the data would flow from the host, to an accelerator, back through the host and then to a second accelerator. This would cause added latency as each trip through the host (i.e., would require memory access, moving the data through the CPU (Computer Processing Unit) caches and back out through another network interface).
Therefore, realizing an efficient system for utilizing one or more accelerator has a broad and fundamental interest in computing technologies.